package chaoyue.study;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

import java.util.Arrays;

/**
 * 最简单的SpringBoot项目demo hello-world
 * 默认只会扫描主程序所在的包以及其子包 可以通过 scanBasePackages 属性指定其他路径
 * 或者也可以直接加@ComponentScan注解重新指定
 */
@SpringBootApplication
public class HelloApplication {
    public static void main(String[] args) {
        // 引导程序执行完成之后其实会返回一个ApplicationContext
        ConfigurableApplicationContext ctx = SpringApplication.run(HelloApplication.class, args);
        // 可以使用编程的方式直接操作这个ApplicationContext
        String[] names = ctx.getBeanDefinitionNames();// 获取所有的Bean定义名称，查看BeanFactory中注册了哪些Bean定义
        System.out.println(Arrays.toString(names));
    }
}
